# -*- coding: utf-8 -*-
# @Time        :2024/11/3 下午4:01
# @Author      :文刀水寿
# @File        : 06_数据计算_输出为文件.py
"""
 @Description :saveAsTextFile算子
 将rdd的数据写入文本文件中
 支持本地写出，hdfs等文件系统
"""
import json
from pyspark import SparkConf, SparkContext
import os

os.environ['HADOOP_HOME'] = "D:\hadoop\hadoop-3.0.0"
os.environ['PYSPARK_PYTHON'] = "D:/Python/python.exe"

conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
"""
方法1

# 使得输出spark文件时只有一个分区
"""
conf.set("spark.default.parallelism", "1")

sc = SparkContext(conf=conf)
"""
方法2
# 使得输出spark文件时只有一个分区
rdd1 = sc.parallelize([1, 2, 3, 4, 5], numSlices=1)
"""
# 准备rdd
rdd1 = sc.parallelize([1, 2, 3, 4, 5], numSlices=1)

# 准备rdd2
rdd2 = sc.parallelize([6, 7, 8, 9, 10])

# 准备rdd3
rdd3 = sc.parallelize([11, 12, 13, 14, 15])

# 输出到文件中
rdd1.saveAsTextFile("D:/spark输出为文件.txt")
rdd2.saveAsTextFile("D:/spark输出为文件1.txt")
rdd3.saveAsTextFile("D:/spark输出为文件2.txt")
sc.stop()
